package AG;

import java.util.ArrayList;

public abstract class Cromosoma implements Comparable{
	
	protected ArrayList<GenAbstracto> genes;
	protected ArrayList<Double> fenotipo;
	protected double aptitud;
	protected double puntuacion;
	protected double puntuacion_acumulada;
	
	
	
	public ArrayList<GenAbstracto> getGenes() {
		return genes;
	}
	public void setGenes(ArrayList<GenAbstracto> genes2) {
		this.genes = genes2;
	}
	public void setFenotipo(ArrayList fenotipo) {
		this.fenotipo = fenotipo;
	}
	public void setAptitud(double aptitud) {
		this.aptitud = aptitud;
	}
	public void setPuntuacion(double puntuacion) {
		this.puntuacion = puntuacion;
	}
	public void setPuntuacion_acumulada(double puntuacion_acumulada) {
		this.puntuacion_acumulada = puntuacion_acumulada;
	}
	public ArrayList getFenotipo() {
		return fenotipo;
	}
	public double getAptitud() {
		return aptitud;
	}
	public double getPuntuacion() {
		return puntuacion;
	}
	public double getPuntuacion_acumulada() {
		return puntuacion_acumulada;
	}
	public abstract void inicializarCromosoma();
	public abstract ArrayList<Double> fenotipo();
	public abstract double evaluar();
	public abstract Cromosoma copia();
	public abstract int getLongitudCromosoma();
	public abstract int dameGen(int valor);
	public abstract int getNumGenes();
		
		
	

}
